| 1 | 1 | [[분류:imitated seed 2]] |
|---|
| 2 | 2 | [include(틀:상위 문서, 문서=New seed)] |
|---|
| 3 | |
|---|
| 3 | 4 | [목차] |
|---|
| 4 | 5 | == 개요 == |
|---|
| 5 | 6 | 분명 New seed 개발하기 시작했는데 아무도 관심이 없고 아무도 모르고 아무도 안 쓰고 심지어 공식 문서조차 없어서 그냥 귀찮아 개발노트랑 업데이트 일지나 대충 끄적이려고 만든 문서 중 하나 |
|---|
| ... | ... | |
|---|
| 57 | 58 | || 근데 일단 써보십쇼 정상 작동은 안 합니다 ㅇㅇ || |
|---|
| 58 | 59 | |
|---|
| 59 | 60 | == 개발일지 == |
|---|
| 61 | === 문법 신창섭화 === |
|---|
| 62 | ==== 동영상 매크로 ==== |
|---|
| 63 | {{{#!syntax javascript |
|---|
| 64 | // 동화상 |
|---|
| 65 | for(let finc of (data.match(/\[(youtube|kakaotv|nicovideo|vimeo|navertv)[(](((?![)])(.|<spannw>[)]<\/spannw>))+)[)]\]/gi) || [])) { |
|---|
| 66 | let inc = finc.match(/\[(youtube|kakaotv|nicovideo|vimeo|navertv)[(](((?!([)]))(.|<spannw>[)]<\/spannw>))+)[)]\]/i); |
|---|
| 67 | let vid = inc[1].replace(/<spannw>[)]<\/spannw>/, ')'); |
|---|
| 68 | let id = inc[2].replace(/<spannw>[)]<\/spannw>/, ')').split(',')[0].replace(/^(\s+)/, '').replace(/(\s+)$/, '').replace(/[&]quot;/g, '"').replace(/[&]amp;/g, '&').replace(/[&]lt;/g, '<').replace(/[&]gt;/g, '>'); |
|---|
| 69 | let paramsa = inc[2].replace(/<spannw>[)]<\/spannw>/, ')').split(',').slice(1, 99999); |
|---|
| 70 | let params = {}; |
|---|
| 71 | for(let item of paramsa) { |
|---|
| 72 | let pp = item.split('=')[0].replace(/^(\s+)/, '').replace(/(\s+)$/, '').toLowerCase(); |
|---|
| 73 | params[pp] = item.replace(pp + '=', '').replace(/^(\s+)/, '').replace(/(\s+)$/, ''); |
|---|
| 74 | } |
|---|
| 75 | let d; |
|---|
| 76 | switch(vid.toLowerCase()) { |
|---|
| 77 | case 'youtube': { |
|---|
| 78 | d = `<iframe allowfullscreen src="//www.youtube.com/embed/${encodeURIComponent(id)}${params.start ? `?start=${encodeURIComponent(params.start)}` : ''}${params.end ? ((params.start ? '&' : '?') + 'end=' + encodeURIComponent(params.end)) : ''}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`; |
|---|
| 79 | } |
|---|
| 80 | break; case 'kakaotv': { |
|---|
| 81 | d = `<iframe allowfullscreen src="//tv.kakao.com/embed/player/cliplink/${encodeURIComponent(id)}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`; |
|---|
| 82 | } |
|---|
| 83 | break; case 'nicovideo': { |
|---|
| 84 | d = `<iframe allowfullscreen src="//embed.nicovideo.jp/watch/sm${encodeURIComponent(id)}" loading=lazy width="${params.width || 720}" height="${params.height || 480}" frameborder=0></iframe>`; |
|---|
| 85 | } |
|---|
| 86 | break; case 'vimeo': { |
|---|
| 87 | d = `<iframe allowfullscreen src="//player.vimeo.com/video/${encodeURIComponent(id)}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`; |
|---|
| 88 | } |
|---|
| 89 | break; case 'navertv': { |
|---|
| 90 | d = `<iframe allowfullscreen src="//tv.naver.com/embed/${encodeURIComponent(id)}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`; |
|---|
| 91 | } |
|---|
| 92 | } |
|---|
| 93 | |
|---|
| 94 | data = data.replace(finc, d); |
|---|
| 95 | } |
|---|
| 96 | }}} |
|---|
| 97 | |
|---|
| 98 | 여기서 nicovideo.jp를 정상화해야한다 |
|---|
| 99 | |
|---|
| 100 | 아주 간단하게 sm(id 8자리)와 (id 8자리) 둘 다 작동하게 수정해보자 |
|---|
| 101 | |
|---|
| 102 | {{{#syntax javascript |
|---|
| 103 | break; case 'nicovideo': { |
|---|
| 104 | id = id.startsWith('sm') ? id : `sm${id}`; |
|---|
| 105 | d = `<iframe allowfullscreen src="//embed.nicovideo.jp/watch/${encodeURIComponent(id)}" loading=lazy width="${params.width || 720}" height="${params.height || 480}" frameborder=0></iframe>`; |
|---|
| 106 | } |
|---|
| 107 | }}} |
|---|
| 108 | |
|---|
| 109 | 이렇게 정상화하면 잘 작동할 것이다 |
|---|
| 110 | |
|---|
| 60 | 111 | === 나무야 살려줘 === |
|---|
| 61 | 112 | {{{#!syntax markdown |
|---|
| 62 | 113 | {{{#!if namu != undefined |
|---|
| ... | ... | |
|---|